In a replicated memory system, such as a replicated cache system, several nodes, or replicas, replicate data between each other so that each node contains a copy of the same data in its respective memory. The replicated memory system selects a leader replica that acts as a gatekeeper for incoming data changes to ensure that the data in the replicated memory system does not become corrupt. The leader replica is typically pre-determined by a system administrator.
The leader replica also orchestrates a decision process among the replicas pertaining to memory updates so each of the replicas have a copy of the same set of data in its respective memory. Therefore, it is advantageous for the replicated memory system to select a leader replica that connects to as many of the other replicas as possible to ensure that memory updates from all replicas reach each of the other replicas. In some instances, however, a replicated memory system selects a leader replica that does not have the most recent data updates or may not connect to a substantial number of the other replicas.